// #include <stdio.h>//short类型占2个字节，int类型占4个字节
// //int*类型加1跳过4个字节，short*类型加1跳过2个字节
// int main()
// {
//   int arr[] = {1,2,3,4,5};
//   short *p = (short*)arr;
//   int i = 0;
//   for(i=0; i<4; i++)
//   {
//     *(p+i) = 0;
//   }
   
//   for(i=0; i<5; i++)
//   {
//     printf("%d ", arr[i]);
//   }
//   return 0;
// }


// #include <stdio.h>//用指针实现字符串逆置
// #include <string.h>
// void zfcnx(char* ch)
// {
//     char* left=ch;
//     char* right=ch+strlen(ch)-1;
//     while(left<right)
//     {
//         char temp=*left;
//         *left=*right;
//         *right=temp;
//         left++;
//         right--;
//     }
// }
// int main()
// {
//     char ch[]="asdf zxcv";
//     zfcnx(ch);
//     printf("%s",ch);
//     return 0;
// }


#include <stdio.h>
#include <string.h>
void zfczx(char* arr,int n)//A
{
    int i,j,temp;
    int len=strlen(arr);
    n%=len;
    for(i=0;i<n;i++)//循环n次,即平移n格
    {
        temp=arr[0];//保存第一个元素
        for(j=0;j<len-1;j++)//内部循环是平移一格，即把后面的元素往前移一格，最后一个元素放在第一个位置
        {
            arr[j]=arr[j+1];
        }
        arr[len-1]=temp;
    }
}
void leftround(char arr[],int n)//B
{
    int len=strlen(arr);
    int p=n%len;
    char dest[20];
    strcpy(dest,arr+p);//从第p个元素开始复制到dest中
    strncat(dest,arr,p);//将arr中的前p个元素复制到dest的末尾
    strcpy(arr,dest);//将dest中的元素复制到arr中
}
int main()
{
    char arr[]="abcdef";
    int n=0;
    scanf("%d",&n);
    // zfczx(arr,n);
    leftround(arr,n);
    printf("%s\n",arr);
    return 0;
}